几何变换

杨小鹤 Lv4

Intro

基本内容:
基本概念
二维几何变换

三维几何变换

基础内容:
齐次坐标:二维点 (x, y) 可用齐次坐标(X,Y,ω)表示, 其中 x = X/ω, y = Y/ω
优点:用矩阵运算统一表示各种几何变换,易于表示复合变换,支持非线性变换表示 (3D-perspective transformations)
可表示无穷远点(Infinity)

所有变换都是基于一个点

二维几何变换

基本变换:平移、旋转、放缩(放大缩小)
其它变换:剪切、对称、复合(多次基本变换)

二维平移

二维旋转变换:

二维放缩:

二维错切变换:

对称变换:

复合二维变换:

Def:进行多次变换得到的最终变换称为复合变换,复杂变换可由简单变换复合得到

特点:满足结合律不满足交换律

刚性变换:

def:形状不变但位置与朝向变化(the position and orientation may change)
特点:
1.点之间的距离不变;
2.线之间的夹角不变;
3.旋转与平移都是刚性变换
4.刚性变换的复合变换仍然是刚性变换

仿射变换

Def:一般线性变换称为仿射变换

三维

场景坐标系⟺造型变换
视点坐标系⟺取景变换
投影坐标系⟺投影变换
屏幕坐标系⟺ 设备变换

Def of 局部坐标系:建立单个物体模型简化物体的定义
Def of 世界坐标系:从单个物体构造复杂场景,造型变换

三维平移

三维缩放

三维旋转

x轴:

y轴:

z轴:

绕任意直线旋转:

条件:已知直线是P1到O2的直线l,P绕l轴旋转λ角度到达P’
三步走:
1.坐变换让l与z轴重合
 (1)平移l使得l经过原点(平移P1到原点)
 (2)绕x轴旋转,使得l落入ZOX平面(旋转P2,角度是l在YOZ平面的投影与z轴的夹角)
 (3)绕y轴旋转


2.绕z轴旋转
3.逆变换让l回到原位

点在两坐标系中的坐标变换—平移

已知OXYZ与O′X′Y′Z′的:
 坐标轴平行,且朝向相同
 O′ 在OXYZ中的坐标为(x_0,y_0,z_0)
同一个点在两坐标系的坐标变换为:

点在两坐标系中的坐标变换—旋转

原点相同, X’,Y’,Z’轴在OXYZ中方向分别为u,v,n;
OXYZ中点P(x,y,z)在OX’Y’Z’中坐标P(x′,y′,z′)的关系
   x^′=u∙P;
   y^′=v∙P;
   z^′=n∙P;
   1=1.

点在两坐标系中的坐标变换—一般情形

原点O′在OXYZ中的坐标为O′(x_0, y_0, z_0)
X’,Y’,Z’轴在OXYZ中方向分别为u,v,n;
OXYZ中点P(x,y,z)在OX′Y′Z′中坐标P(x′,y′,z′)的关系
先考虑P(x,y,z)到OX′′Y′′Z′′
在考虑OX′′Y′′Z′′到O^′X^′Y′Z′

Opengl 常用函数

几何变换函数-glBegin()和glEnd()

void glMatrixMode(GLenum Mode)设置变换模式,Mode有3种取值:
1.GL_MODELVIEW, 模型变换和视点变换
2.GL_PROJECTION,投影变换
3.GL_TEXTURE, 纹理变换

  • Title: 几何变换
  • Author: 杨小鹤
  • Created at: 2023-10-27 09:16:57
  • Updated at: 2023-10-27 09:59:38
  • Link: https://redefine.ohevan.com/2023/10/27/CV3/
  • License: This work is licensed under CC BY-NC-SA 4.0.
 Comments